// get_arg.h
//

#if !defined(GETARG_H)
#define GETARG_H

#include <string>
#include <fstream>
#include <matrix_formats.h>


enum eCUTOFF_FORMAT {eCUTOFF_M1,eCUTOFF_M2,eCUTOFF_BOTH,eCUTOFF_NONE};
#include <program_options_helper.h>

class t_program_args : public program_options_helper::t_std_program_args_with_errors
{
public:
	bcpp_matrix::eMATRIX_IOFORMAT	input_format;
	bool							missing_matrix_as_errors;
	float							cutoff;
	eCUTOFF_FORMAT					cutoff_format;
	std::ifstream					matrix_strm;
	bool							header;

	// for initializing this struct
	friend
	bool process_command_line_options(int argc, char* argv[], t_program_args& args);
};

bool process_command_line_options(int argc, char* argv[], t_program_args& args);
#endif //GETARG_H
